package com.fs.cv.service;


import com.fs.cv.pojo.pojodao.*;
import com.github.pagehelper.PageInfo;

import java.util.List;
import java.util.Map;

/**
 * @工程名: SSM教务管理系统项目
 * @描述：
 * @作者: 小梁子
 * @创建时间: 2020-09-28 00:40
 **/
public interface UserService {

    //登录验证
    Map<String, Object> login(String username, String password, String remember);

    //查询用户信息，通过用户账号
    User queryUserInfoByUserName(String username);

    //登出shiro系统
    void logout();


    //查询全部用户信息
    List<User> queryAllUsers();

    //根据用户id查询对应老师信息
    Teacher queryTeacherInfoByUserId(int userId);

    //根据用户id查询对应班主任信息
    Headmaster queryHeadmasterInfoByUserId(int userId);

    //根据用户id查询对应教务主任id信息
    Registrar queryRegistrarInfoByUserId(int userId);

    //根据前端页面获取的用户信息进行数据库添加操作
    boolean addUserInfo(User user, Role role, Teacher teacher, Headmaster headmaster, Registrar registrar);

    //修改用户状态
    boolean changeUserDeleted(User user);

    //根据用户id查询用户信息
    User getUserInfoByUserId(int userId);

    boolean updataUserInfo(User user);

    //分页查询用户信息
    PageInfo<User> getUsersByPage(Integer currentPage, Integer pageSize);

    List<Course> getFreeCourseId();
}
